package com.youku.plugins.interaction
{
   import com.youku.interfaces.IPlugin;
   import com.youku.plugins.interaction.view.InteractionMediator;
   import com.youku.plugins.PluginEventDispather;
   import com.youku.plugins.interaction.model.InteractionDataProxy;
   import flash.display.MovieClip;
   import com.youku.interfaces.IPlayerProxy;
   
   public class InteractionFacade extends Object implements IPlugin
   {
      
      public function InteractionFacade() {
         super();
      }
      
      private static var _instance:InteractionFacade;
      
      public static function getInstance() : InteractionFacade {
         if(_instance == null)
         {
            _instance = new InteractionFacade();
         }
         return _instance as InteractionFacade;
      }
      
      private var _interactionMediator:InteractionMediator;
      
      private var _eventDispather:PluginEventDispather;
      
      private var _dataProxy:InteractionDataProxy;
      
      public function ExPluginFacade() : void {
      }
      
      public function init(param1:MovieClip, param2:IPlayerProxy) : void {
         this._eventDispather = PluginEventDispather.getInstance();
         this._dataProxy = new InteractionDataProxy(this._eventDispather);
         this._interactionMediator = new InteractionMediator(param1,param2,this._eventDispather,this._dataProxy);
      }
   }
}
